<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>axidma: xaxidma_bdring.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">axidma
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xaxidma__bdring_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xaxidma_bdring.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga39ee7d89e4453276d615849acad27fde"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga39ee7d89e4453276d615849acad27fde">XAxiDma_UpdateBdRingCDesc</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr)</td></tr>
<tr class="memdesc:ga39ee7d89e4453276d615849acad27fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update Current Descriptor.  <a href="group___a_x_i_d_m_a.html#ga39ee7d89e4453276d615849acad27fde">More...</a><br/></td></tr>
<tr class="separator:ga39ee7d89e4453276d615849acad27fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5c6d6f492642dd355478c3a853556d6b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga5c6d6f492642dd355478c3a853556d6b">XAxiDma_BdRingCreate</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, UINTPTR PhysAddr, UINTPTR VirtAddr, u32 Alignment, int BdCount)</td></tr>
<tr class="memdesc:ga5c6d6f492642dd355478c3a853556d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using a memory segment allocated by the caller, This fundtion creates and setup the BD ring.  <a href="group___a_x_i_d_m_a.html#ga5c6d6f492642dd355478c3a853556d6b">More...</a><br/></td></tr>
<tr class="separator:ga5c6d6f492642dd355478c3a853556d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad044df5bd676a71226411ba7f78ef20b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gad044df5bd676a71226411ba7f78ef20b">XAxiDma_BdRingClone</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, <a class="el" href="group___a_x_i_d_m_a.html#ga5faf4d844b10fc577f3a75a170f11867">XAxiDma_Bd</a> *SrcBdPtr)</td></tr>
<tr class="memdesc:gad044df5bd676a71226411ba7f78ef20b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone the given BD into every BD in the ring.  <a href="group___a_x_i_d_m_a.html#gad044df5bd676a71226411ba7f78ef20b">More...</a><br/></td></tr>
<tr class="separator:gad044df5bd676a71226411ba7f78ef20b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b38bc9220c391823219937580bd816f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga7b38bc9220c391823219937580bd816f">XAxiDma_StartBdRingHw</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr)</td></tr>
<tr class="memdesc:ga7b38bc9220c391823219937580bd816f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a DMA channel and Allow DMA transactions to commence on a given channel if descriptors are ready to be processed.  <a href="group___a_x_i_d_m_a.html#ga7b38bc9220c391823219937580bd816f">More...</a><br/></td></tr>
<tr class="separator:ga7b38bc9220c391823219937580bd816f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafd18a1df185c30b4745c147e3295ac3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gaafd18a1df185c30b4745c147e3295ac3">XAxiDma_BdRingStart</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr)</td></tr>
<tr class="memdesc:gaafd18a1df185c30b4745c147e3295ac3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start a DMA channel, updates current descriptors and Allow DMA transactions to commence on a given channel if descriptors are ready to be processed.  <a href="group___a_x_i_d_m_a.html#gaafd18a1df185c30b4745c147e3295ac3">More...</a><br/></td></tr>
<tr class="separator:gaafd18a1df185c30b4745c147e3295ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaebba5c661e04485582e887e74dbeb94"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gaaebba5c661e04485582e887e74dbeb94">XAxiDma_BdRingSetCoalesce</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, u32 Counter, u32 Timer)</td></tr>
<tr class="memdesc:gaaebba5c661e04485582e887e74dbeb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set interrupt coalescing parameters for the given descriptor ring channel.  <a href="group___a_x_i_d_m_a.html#gaaebba5c661e04485582e887e74dbeb94">More...</a><br/></td></tr>
<tr class="separator:gaaebba5c661e04485582e887e74dbeb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d3794bbccf028da8e94407d061dfc68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga0d3794bbccf028da8e94407d061dfc68">XAxiDma_BdRingGetCoalesce</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, u32 *CounterPtr, u32 *TimerPtr)</td></tr>
<tr class="memdesc:ga0d3794bbccf028da8e94407d061dfc68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve current interrupt coalescing parameters from the given descriptor ring channel.  <a href="group___a_x_i_d_m_a.html#ga0d3794bbccf028da8e94407d061dfc68">More...</a><br/></td></tr>
<tr class="separator:ga0d3794bbccf028da8e94407d061dfc68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44003cd704b7d4868d1dc00bb433a91f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga44003cd704b7d4868d1dc00bb433a91f">XAxiDma_BdRingAlloc</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, int NumBd, <a class="el" href="group___a_x_i_d_m_a.html#ga5faf4d844b10fc577f3a75a170f11867">XAxiDma_Bd</a> **BdSetPtr)</td></tr>
<tr class="memdesc:ga44003cd704b7d4868d1dc00bb433a91f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserve locations in the BD ring.  <a href="group___a_x_i_d_m_a.html#ga44003cd704b7d4868d1dc00bb433a91f">More...</a><br/></td></tr>
<tr class="separator:ga44003cd704b7d4868d1dc00bb433a91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac58b1ab7a89890142baf67211772d3ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gac58b1ab7a89890142baf67211772d3ce">XAxiDma_BdRingUnAlloc</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, int NumBd, <a class="el" href="group___a_x_i_d_m_a.html#ga5faf4d844b10fc577f3a75a170f11867">XAxiDma_Bd</a> *BdSetPtr)</td></tr>
<tr class="memdesc:gac58b1ab7a89890142baf67211772d3ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully or partially undo an <a class="el" href="group___a_x_i_d_m_a.html#ga44003cd704b7d4868d1dc00bb433a91f" title="Reserve locations in the BD ring. ">XAxiDma_BdRingAlloc()</a> operation.  <a href="group___a_x_i_d_m_a.html#gac58b1ab7a89890142baf67211772d3ce">More...</a><br/></td></tr>
<tr class="separator:gac58b1ab7a89890142baf67211772d3ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac81111b373e373be7dd3989fffffe7b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gaac81111b373e373be7dd3989fffffe7b">XAxiDma_BdRingToHw</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, int NumBd, <a class="el" href="group___a_x_i_d_m_a.html#ga5faf4d844b10fc577f3a75a170f11867">XAxiDma_Bd</a> *BdSetPtr)</td></tr>
<tr class="memdesc:gaac81111b373e373be7dd3989fffffe7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enqueue a set of BDs to hardware that were previously allocated by <a class="el" href="group___a_x_i_d_m_a.html#ga44003cd704b7d4868d1dc00bb433a91f" title="Reserve locations in the BD ring. ">XAxiDma_BdRingAlloc()</a>.  <a href="group___a_x_i_d_m_a.html#gaac81111b373e373be7dd3989fffffe7b">More...</a><br/></td></tr>
<tr class="separator:gaac81111b373e373be7dd3989fffffe7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e5d328b4d4a247d1530fac3efe4c59c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga1e5d328b4d4a247d1530fac3efe4c59c">XAxiDma_BdRingFromHw</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, int BdLimit, <a class="el" href="group___a_x_i_d_m_a.html#ga5faf4d844b10fc577f3a75a170f11867">XAxiDma_Bd</a> **BdSetPtr)</td></tr>
<tr class="memdesc:ga1e5d328b4d4a247d1530fac3efe4c59c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a set of BD(s) that have been processed by hardware.  <a href="group___a_x_i_d_m_a.html#ga1e5d328b4d4a247d1530fac3efe4c59c">More...</a><br/></td></tr>
<tr class="separator:ga1e5d328b4d4a247d1530fac3efe4c59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2ac76e5a39486896cd484e51d2898c7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gad2ac76e5a39486896cd484e51d2898c7">XAxiDma_BdRingFree</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr, int NumBd, <a class="el" href="group___a_x_i_d_m_a.html#ga5faf4d844b10fc577f3a75a170f11867">XAxiDma_Bd</a> *BdSetPtr)</td></tr>
<tr class="memdesc:gad2ac76e5a39486896cd484e51d2898c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a set of BDs that had been previously retrieved with <a class="el" href="group___a_x_i_d_m_a.html#ga1e5d328b4d4a247d1530fac3efe4c59c" title="Returns a set of BD(s) that have been processed by hardware. ">XAxiDma_BdRingFromHw()</a>.  <a href="group___a_x_i_d_m_a.html#gad2ac76e5a39486896cd484e51d2898c7">More...</a><br/></td></tr>
<tr class="separator:gad2ac76e5a39486896cd484e51d2898c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64cf3c732bc803da742c256ab6372e0e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#ga64cf3c732bc803da742c256ab6372e0e">XAxiDma_BdRingCheck</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr)</td></tr>
<tr class="memdesc:ga64cf3c732bc803da742c256ab6372e0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the internal data structures of the BD ring for the provided channel.  <a href="group___a_x_i_d_m_a.html#ga64cf3c732bc803da742c256ab6372e0e">More...</a><br/></td></tr>
<tr class="separator:ga64cf3c732bc803da742c256ab6372e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffa661a9a2467c1e274842c147531cea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_x_i_d_m_a.html#gaffa661a9a2467c1e274842c147531cea">XAxiDma_BdRingDumpRegs</a> (<a class="el" href="struct_x_axi_dma___bd_ring.html">XAxiDma_BdRing</a> *RingPtr)</td></tr>
<tr class="memdesc:gaffa661a9a2467c1e274842c147531cea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump the registers for a channel.  <a href="group___a_x_i_d_m_a.html#gaffa661a9a2467c1e274842c147531cea">More...</a><br/></td></tr>
<tr class="separator:gaffa661a9a2467c1e274842c147531cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
